package com.teamwork.ZuccEcho.Controller;

import com.teamwork.ZuccEcho.Entity.Answersheet;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
public class AnalysisController {
    List<Answersheet> answerSheetList=new ArrayList<>();//存放某门课的所有答卷

    //TODO 根据问卷id获得那份问卷的所有答卷
    public List<Answersheet> getAnswerSheets(long qId){
        List<Answersheet> list=new ArrayList<>();
        return list;
    }

    //TODO 分析选择题
    //入参：指定问卷的所有答卷列表
    //返回统计结果
    //1.生成一个列表，列表内容是以表格形式显示A选项多少人选，A选项占比多少...列表显示在前端界面上
    //2.将分析数据通过echarts图表显示在前端界面上。单选题：饼图。多选题：圆环图
    public String analyzeChoices(List<Answersheet> list){
        return null;
    }

    //TODO 分析填空题
    //入参：指定问卷的所有答卷列表
    //返回统计结果
    //1.将要分析的那门课的所有答卷填空题的回答放到列表中，调用分词函数
    //2.调用词频统计函数
    //3.将分析数据通过echarts图表显示在前端界面上。填空题：柱状图
    public String analyzeCompletion(List<Answersheet> list){
        return null;
    }

    //TODO 分词接口
    //入参：所有答卷填空题的回答形成的列表
    //返回分词后的列表
    public List<String> divideWords(List<String> list){
        List<String> res=new ArrayList<>();
        return res;
    }

    //TODO 词频统计接口
    //入参：分词后的列表
    //返回Map，key是单词，value是词频
    public Map<String,Integer> countWords(List<String> list){
        Map<String,Integer> res=new HashMap<>();
        return res;
    }

    //TODO 分析比重题
    //入参：指定问卷的所有答卷列表
    //返回统计结果
    //1.分析趋势
    //2.将分析数据通过echarts图表显示在前端界面上。比重题：折线图
    public String analyzeProportion(List<Answersheet> list){
        return null;
    }
}
